The present disclosure relates to user interfaces and data visualization.
There exists a wide variety of data, e.g., text, raster images, vector images, and combinations thereof, that can be displayed on various display devices. Computer applications are widely used to display and manipulate such data. Commonly, these data can be referred to as documents that include content of different kinds A user of a computer system can access content of documents that are stored locally or remotely. Computer systems generally provide a graphical user interface (GUI) that provides windows of the kind that allow applications to display content in a display pane. Tools that allow the user of a computer to move comfortably through the text of an electronic document or an image display are important and are included in various forms in GUI applications.
Viewing specific content becomes more challenging with increasing amounts of document content. For example, large text documents require frequent scrolling in order to move to parts of the document that are hidden from the current view. As a result, with large documents, a user has to adjust display parameters of the document and/or the display parameters of a corresponding application window in order to move to different sections of the document. This is necessary because the scale at which a document can be displayed in the user interface in its entirety is usually very different from the scale that facilitates useful interaction with the document contents. The process of moving document contents in an application window is typically referred to as “scrolling.” The presentation of the document may be linear, i.e., the user accesses document contents in an essentially sequential order from the beginning to the end of the document. Alternatively, the presentation of the document may also be non-linear, as for example often seen with hyperlinked documents (e.g., common web pages) that link certain parts of the document to certain parts of the same or other documents and that enable the user to quickly access and jump back and forth between certain parts of the document.
Common scrolling techniques include scrolling line by line or page by page in a document (or at discrete intervals in documents, such as vector graphics documents, that do not feature inherent elements like a line raster or a pixel raster), for example, performed in response to a key stroke or the use of a scroll wheel of a pointing device such as a mouse. Alternatively, scrolling can be performed in response to a combination of inputs, for example, clicking a button of a pointing device and moving the pointing device, dragging the document along. Specific user interface elements, e.g., scroll bars, can also be used to perform scrolling. A scrollbar can be used by pointing and clicking the pointing device, in connection with or without movement of the pointing device. In connection with scrolling content, and also known from other GUI elements, a function commonly referred to as “autoscroll” serves to scroll the document into the direction indicated by the position of the mouse cursor.